def test(number):
    print("----1----")

    # 在函数内部再定义⼀个函数，并且这个函数⽤到了外边函数的变量，那么将这个函数以及⽤到的⼀些变量称之为闭包
    def test_in(number2):
        print("----2----")
        print(number + number2)

    print("----3----")
    return test_in  # 其实这⾥返回的就是闭包的结果


# 给test函数赋值，这个100就是给参数number
ret = test(100)
print("-" * 30)
ret(1)  # 注意这⾥的100其实给参数number_in
ret(2)
ret(100)
